跳到主要内容

架构

最后 更新

架构图

architecture

  • 灰色部分的组件是 APO 集成的开源标准化组件。APO 对 Jaeger 1.58 版本进行了改造,支持将链路数据存储到 ClickHouse 中。
  • 紫蓝色部分的组件是 APO 额外的能力:
    • 保留故障现场数据
    • eBPF采集的北极星因果指标
    • 故障现场日志与链路的极速关联

数据流图

data-flow

APO-OneAgent

OneAgent集成了以下的内容:

  • 通过虚拟机 preload 机制容器的 odigos 机制加载 OpenTelemetry 探针和环境变量,应用重启后生效
  • 通过 eBPF 机制,采集北极星因果指标同时实现回溯算法
  • 通过 ilogtail 采集故障现场日志,依据回溯算法采样结果保留故障现场日志
  • 通过 Grafana alloy 采集指标,在容器环境中会采集全量日志,全量日志功能不支持虚拟机
  • 集成 pinger 的探针,获取网络 ping 指标

在 OneAgent 中链路数据、日志数据直接发送至 Otel collector,指标数据经 alloy 采集之后发送至 Otel collector中

APO-Collector

全局统一协调回溯采样

APO-OTEL-Collector

Otel collector:如果所有数据部署在一起个集群中,Otel collector 就用来采集数据,如果涉及到多集群,被监控的数据集群通过 otel colletor 可以将不同集群的数据统一收集至中心的统一 otel collector中。

ClickHouse

统一存储链路与日志数据

VictoriaMetrics

统一存储指标,在 Grafana 中配置数据源可以查看所有指标。

Jaeger Collector & Jaeger Query

Jaeger 1.58 不支持将链路数据直接写入 ClickHouse 并查询出来,APO修改了 Jaeger RemoteStorage,按照 Jaeger Clickhouse 项目的格式写入 clickhouse 并查询链路,目前集成的 Jaeger 版本为1.58。Jaeger 2.0 发布之后,APO 会集成 Jaeger 2.0。

APO 界面 & Query Service

按照向导式排障组织各种数据的关联与展示。